#include <stdio.h>
#include <unistd.h> // 包含 getpid() 和 sleep()
#include <sys/types.h> // 有些系统需要这个来定义 pid_t

int main() {
    pid_t my_pid = getpid(); // 获取当前进程的 ID

    printf("这个程序的进程 ID (PID) 是: %d\n", my_pid);
    printf("程序正在运行...\n");
    printf("请打开另一个终端窗口，然后执行以下命令来查看内存映射:\n");
    printf("  cat /proc/%d/maps\n", my_pid);
    printf("\n查看完毕后，可以按 Ctrl+C 在这个窗口中止程序，或者等待它自动结束。\n");

    // 让程序保持运行一段时间（例如 300 秒 = 5 分钟）
    // 或者你可以用 getchar(); 替换 sleep(300); 让程序等待你按 Enter 键
    sleep(300);
    // getchar(); // 如果你想手动结束，就取消这行的注释，并注释掉 sleep(300);

    printf("程序结束。\n");
    return 0;
}
